perm filename PRCAUX.HDR[AL,HE] blob
sn#290114 filedate 1977-06-28 generic text, type T, neo UTF8
EXTERNAL ITEMVAR SIMPLE PROCEDURE TRESUME(ITEMVAR P,V;INTEGER F(0));
EXTERNAL RECORD_CLASS COMMAND(ITEMVAR OP;
RECORD_POINTER(ANY_CLASS) REC;INTEGER INT);
EXTERNAL RECORD_POINTER(COMMAND) PROCEDURE
NEW_COMMAND(ITEMVAR OP;
RECORD_POINTER(ANY_CLASS) REC(NULL_RECORD);INTEGER INT(0));
EXTERNAL PROCEDURE MK_STDCMD(REFERENCE ITEMVAR IDI;
REFERENCE RECORD_POINTER(COMMAND) IDR;
STRING ID);
DEFINE SCINX=0;
DEFINE STDCMD(TNL,ID,SID,IDR,SIDR,INITXX)"<>" =
<ASSIGNC IDR=CVPS(ID)&"_REC";
IFCR LENGTH(CVPS(SID)) THENC
ASSIGNC SIDR="R"&CVPS(SID);
IFCR ¬DECLARATION(ID) THENC
DEFINE ID = CVPS(SID); ENDC
IFCR ¬DECLARATION(IDR) THENC
DEFINE IDR = CVPS(SIDR);ENDC
ENDC
TNL RECORD_POINTER(COMMAND) IDR;
TNL RECORD_POINTER(COMMAND) ITEMVAR ID
IFCR ¬EQU(CVPS(TNL),"EXTERNAL") THENC
;
REDEFINE SCINX=SCINX+1;
ASSIGNC INITXX = "SCINI"&CVMS(SCINX);
SIMPLE PROCEDURE INITXX;
MK_STDCMD(ID,IDR,CVPS(ID));
REQUIRE INITXX INITIALIZATION
ENDC>;
STDCMD(EXTERNAL,OK); ! a common result;
STDCMD(EXTERNAL,LOSER); ! a common result;
STDCMD(EXTERNAL,DIE); ! go commit suicide;
STDCMD(EXTERNAL,GET_STATUS,GTSTS); ! asks for internal status info
(may have various meanings);
STDCMD(EXTERNAL,GET_NEXT,GTNXT); ! asks for next element from record generator;
EXTERNAL RECORD_POINTER(ANY_CLASS)
RECURSIVE PROCEDURE REC_RESUME(ITEMVAR PRC;
RECORD_POINTER(ANY_CLASS) REC(NULL_RECORD);
INTEGER OPTS(0));
EXTERNAL SIMPLE PROCEDURE PRCERR(STRING MSG);
REQUIRE "PRCAUX.REL[AL,HE]" LOAD_MODULE;